From: Keir Fraser Date: Tue, 21 Oct 2008 08:53:34 +0000 (+0100) Subject: Fix ioapic_rte_to_remap_entry() on IA64. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14066^2~9 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=519c6bedbf32f92042df4e445ebb2b3a6be91d0f;p=xen.git Fix ioapic_rte_to_remap_entry() on IA64. Signed-off-by: Anthony Xu Signed-off-by: Dexuan Cui --- diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c index 93218b6c09..059ebf5a24 100644 --- a/xen/drivers/passthrough/vtd/intremap.c +++ b/xen/drivers/passthrough/vtd/intremap.c @@ -129,7 +129,13 @@ static int ioapic_rte_to_remap_entry(struct iommu *iommu, memcpy(&new_ire, iremap_entry, sizeof(struct iremap_entry)); if ( rte_upper ) + { +#if defined(__i386__) || defined(__x86_64__) new_ire.lo.dst = (value >> 24) << 8; +#else /* __ia64__ */ + new_ire.lo.dst = value >> 16; +#endif + } else { *(((u32 *)&new_rte) + 0) = value;